package com.dhecp.project.flowable.service;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.project.flowable.domain.ActProcessDefinition;
import com.github.pagehelper.Page;
import org.flowable.engine.repository.ProcessDefinition;

import java.io.InputStream;
import java.util.Map;

/**
 * @InterfaceName ProcessDefinitionService
 * @Description ACT流程定义服务层
 * @Author alula
 * @Date 2019-11-26 11:51
 */
public interface ActProcessDefinitionService {

    Page<ActProcessDefinition> queryProcessDefinitionList(Map<String, Object> params);

    AjaxResult deployProcessDefinition(InputStream fileInputStream, String fileName);

    AjaxResult deleteProcessDeploymentById(String id, String depId);

    AjaxResult convertProcessDefinitionToModel(String processId) throws Exception;

    AjaxResult updateProcessDefinitionStatus(String proDefId, int status);

    ProcessDefinition queryActProcessDefinitionByKey(String proDefKey);

    ProcessDefinition queryActProcessDefinitionById(String proDefId);

    InputStream getProcessDefinitionImage(String proDefId, String deploymentId, String fileName);


}
